Emacs Lisp dotimes
在 Emacs Lisp 中有一个很有用的函数叫 dotimes
。该函数用于重复执行特定的操作。我们来看一下下面这段代码:
(dotimes (n 2)
(2048-add-new-cell! 2048-grid))
这段代码使用 dotimes
函数进行了循环,循环的次数是 2 次。每次循环,它都会调用 2048-add-new-cell!
函数,参数是 2048-grid
。
dotimes
函数的基本形式是 (dotimes (VAR COUNT [RESULT]) BODY...)
,其中:
-
VAR
是一个符号,它将在循环体中作为循环变量使用。在每次循环迭代中,VAR 都会被设置为从 0 开始的当前迭代数。 -
COUNT
是一个表达式,它的结果应该是一个非负整数,表示循环的次数。 -
RESULT
是一个可选的表达式,如果提供了,当循环结束后,它的结果将被返回。如果没有提供,dotimes
的结果是nil
。 -
BODY...
是一个或多个表达式,它们构成了循环体。在每次循环中,这些表达式都会被执行。
在上面的代码中,n
是循环变量,2
是循环次数,2048-add-new-cell! 2048-grid
是循环体。这个循环体将会被执行两次。
示例
(defun 2048-make-empty-grid (size)
"Make a grid of SIZE x SIZE zeros (as a list of lists)"
(let (grid)
(dotimes (n size grid)
(push (make-list size 0) grid))))
本文作者:Maeiee
本文链接:Emacs Lisp dotimes
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!